home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung / Power-Programmierung (Tewi)(1994).iso / magazine / pcmagazi / 1992 / 04 / dupes.h < prev    next >
C/C++ Source or Header  |  1991-11-17  |  2KB  |  80 lines

  1. // dupes.h RHS 8/5/91
  2.  
  3. #if !defined(DUPES_H)
  4. #define DUPES_H
  5.  
  6. #include"file.h"
  7.  
  8. typedef struct
  9.     {
  10.     unsigned dirnamelen;
  11.     char dirname[80];
  12.     } DIRNAME;
  13.  
  14. typedef struct
  15.     {
  16.     unsigned time;
  17.     unsigned date;
  18.     long size;
  19.     long dirnameoffset;
  20.     } DATABUF;
  21.  
  22. typedef struct
  23.     {
  24.     char buf[13];
  25.     BYTE status;
  26.     long offset;
  27.     } OUTBUF;
  28.  
  29. class Dupes
  30.     {
  31. protected:
  32.     OUTBUF OutBuf;
  33.     DATABUF DataBuf;
  34.     DIRNAME DirName;
  35.     File TempIndex;
  36.     File TempData;
  37.     File IndexFile;
  38.     File DataFile;
  39.  
  40. public:
  41.     Dupes(void)
  42.         {
  43.         TempIndex.SetName("DUPE_IDX.TMP");
  44.         TempData.SetName("DUPE_DAT.TMP");
  45.         IndexFile.SetName("DUPES.IDX");
  46.         DataFile.SetName("DUPES.DAT");
  47.         }
  48.  
  49.     BOOL PutDirectory(File *f, char *dirspec, BOOL init = FALSE);
  50.     void GetData(File *d, long offset);
  51.     int GetRecord(void);
  52.     void PutData(File *d, void *data);
  53.     void PutIndex(File *i, char *name, long offset, BYTE status = 0);
  54.     BOOL PutDirectoryToTemp(char *dirspec)
  55.         {
  56.         return PutDirectory(&TempData,dirspec);
  57.         }
  58.     BOOL PutDirectoryToData(BOOL init)
  59.         {
  60.         return PutDirectory(&DataFile,DirName.dirname,init);
  61.         }
  62.     void PutIndexToTemp(char *name)
  63.         {
  64.         PutIndex(&TempIndex,name,TempData.CurPosition());
  65.         }
  66.     void PutDataToTemp(void *data)
  67.         {
  68.         PutData(&TempData,data);
  69.         }
  70.     void PutDataFile(void)
  71.         {
  72.         DataFile.Write(sizeof(DATABUF),&DataBuf);
  73.         }
  74.     ~Dupes(void)
  75.         {
  76.         }
  77.     };
  78. #endif
  79.  
  80.